1. Field of the Invention
The present invention relates in general to a method for optimizing the delivery and deployment of web services to consumers by providing presence information (presence attributes) in addition to business/technical information (if needed) about different web service providers to the consumers so they can select a web service provider based on various important factors such as load, price, location, etc. . . . of the web service.
2. Description of Related Art
The following abbreviations are herewith defined, at least some of which are referred to in the ensuing description of the prior art and the different embodiments of the present invention.
AOLAmerican On-LineHTTPHyper Text Transfer ProtocolIETFInternet Engineering Task ForceIMInstant MessagingMSNMicrosoft NetworkSIMPLESIP for IM and Presence Leveraging ExtensionsSIPSession Initiation ProtocolSOAPSimple Object Access ProtocolUBRUDDI Business RegistryUDDIUniversal Description, Discovery and IntegrationURLUniform Resource LocatorXMLExtensible Markup LanguageWSDLWeb Service Description Language
Referring to FIG. 1 (PRIOR ART), there is illustrated a block diagram that is used to help explain how a consumer 100 can obtain business/technical information 102 about different web service providers 104 (one shown) from a traditional service registry 106 (e.g., traditional UDDI service registry 106). As shown, the consumer 100 uses a computer 108 (PDA, laptop etc. . . . ) with software loaded therein that can communicate via WSDL with the UDDI service registry 106. And, the web service provider 104 uses equipment 110 (computer, server etc. . . . ) with software loaded therein that can communicate via WSDL with the UDDI service registry 106. The consumer 100, the web service provider 104 and the UDDI service registry 106 communicate with one another via the Internet 112.
In operation, the web service provider 104 registers their company/services with the UDDI service registry 106. In particular, the web service provider 104 can register with the UDDI service registry 106 and publicly list information about their products, services and engagement guidelines. This information is referred to herein as business/technical information 102. Then, the consumer 100 sends a specific search request 114 to the UDDI service registry 106 to obtain business/technical information 102 about relevant web service providers 104. For example, the consumer 100 can send a search request 114 to obtain the business/technical information 102 about web service providers 104 that provide tax planning services. To send the search request 114, the consumer 100 would first need to access the UDDI service registry 106. The consumer 100 can do this today by using anyone of the following URLS:
IBM's UBR Node: http://uddi.ibm.com
Microsoft's UBR Node: http://uddi.microsoft.com
SAP's UBR Node: http://uddi.sap.com
NTT's UBR Node: http://uddi.ntt.com
The UDDI Service Registry 106 is Formed by these Distributed UBR Nodes.
In response to receiving the search request 114, the UDDI service registry 106 sends the business/technical information 102 associated with relevant web service provider(s) 104 to the consumer 100. The consumer 100 selects one of the web service providers 104 and interacts directly thereafter with that web service provider 104. Alternatively, the consumer 100 can select and interact with multiple web service providers 104. FIG. 2 (PRIOR ART) is a diagram that illustrates the situation where multiple consumers 100a, 100b . . . 100n are interacting with one or more web service providers 104a, 104b . . . 104n. As shown, the consumers 100a, 100b . . . 100n can communicate via SOAP over HTTP with their web service providers 104a, 104b . . . 104n. At this point in time, the consumers 100a, 100b . . . 100n and the web service providers 104a, 104b . . . 104n no longer need to utilize the UDDI service registry 106.
It is well known that the web services of these web service providers 104a, 104b . . . 104n may become noticeably slow and may even overwhelm high-end web servers under heavy load conditions. To address this problem, the web service providers 104a, 104b . . . 104n can try to optimize their service delivery by employing load balancing techniques on their server farm. In addition, the web service providers 104a, 104b . . . 104n can replicate their web services at various servers located in different geographical locations in an attempt to handle heavy load conditions. As can be seen, the current solution used to improve the web service performance is performed by only the web service providers 104a, 104b . . . 104n. It would be desirable if the consumer 100a, 100b . . . 100n could also take part in improving the performance of the web services. This need and other needs are addressed by the present invention.